<html>
<head><meta charset="utf-8"><title>design meeting 2019.12.30 · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html">design meeting 2019.12.30</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="184493020"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493020" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493020">(Dec 30 2019 at 19:04)</a>:</h4>
<p>Hey all -- not sure who's around today.</p>



<a name="184493062"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493062" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493062">(Dec 30 2019 at 19:04)</a>:</h4>
<p>er, cc <span class="user-group-mention" data-user-group-id="692">@WG-traits</span></p>



<a name="184493101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493101">(Dec 30 2019 at 19:05)</a>:</h4>
<p>I'm around</p>



<a name="184493105"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493105" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493105">(Dec 30 2019 at 19:05)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="184493125"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493125" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493125">(Dec 30 2019 at 19:05)</a>:</h4>
<p>I'm still booting back up from holidays</p>



<a name="184493134"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493134" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493134">(Dec 30 2019 at 19:05)</a>:</h4>
<p>Didn't know if we wanted to skip this week or not?</p>



<a name="184493145"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493145" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493145">(Dec 30 2019 at 19:05)</a>:</h4>
<p>Yeah I don't know either :)</p>



<a name="184493192"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493192" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493192">(Dec 30 2019 at 19:06)</a>:</h4>
<p>But there are a couple things I've thought about the past couple weeks</p>



<a name="184493201"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493201" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493201">(Dec 30 2019 at 19:06)</a>:</h4>
<p>Or things that have come up</p>



<a name="184493245"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493245" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493245">(Dec 30 2019 at 19:06)</a>:</h4>
<p>So, <span class="user-mention" data-user-id="116009">@nikomatsakis</span> in your PR, i.r.t. <code>GeneratorWitness</code></p>



<a name="184493246"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493246" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493246">(Dec 30 2019 at 19:07)</a>:</h4>
<p>OK. I've been thinking mostly about our overall strategy and what steps I think we should be taking first</p>



<a name="184493262"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493262" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493262">(Dec 30 2019 at 19:07)</a>:</h4>
<p>what does "irt" mean</p>



<a name="184493268"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493268" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493268">(Dec 30 2019 at 19:07)</a>:</h4>
<p>(in regards to)</p>



<a name="184493297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493297">(Dec 30 2019 at 19:07)</a>:</h4>
<p>Don't know if you saw my comment</p>



<a name="184493309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493309">(Dec 30 2019 at 19:07)</a>:</h4>
<p>that there should be more docs?</p>



<a name="184493361"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493361" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493361">(Dec 30 2019 at 19:08)</a>:</h4>
<p>but compared to everything else, it feels very "specific", compared to everything else that is sort of abstracted</p>



<a name="184493375"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493375" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493375">(Dec 30 2019 at 19:08)</a>:</h4>
<p>Ah. Yes. That's true, but I feel ok about it</p>



<a name="184493389"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493389" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493389">(Dec 30 2019 at 19:08)</a>:</h4>
<p>Specifically, I think it's an indication of rust itself lacking a feature :)</p>



<a name="184493414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493414">(Dec 30 2019 at 19:09)</a>:</h4>
<p>that is, we've introduced generators as a kind of "special case" for a struct that can encapsulate lifetimes (the lifetime of the suspended generator frame)</p>



<a name="184493415"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493415" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493415">(Dec 30 2019 at 19:09)</a>:</h4>
<p>I guess, it's hard for me to make any suggestions about how to generalize it because I don't know anything about what it is at all</p>



<a name="184493422"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493422" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493422">(Dec 30 2019 at 19:09)</a>:</h4>
<p>and we don't have the general case of that</p>



<a name="184493442"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493442" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493442">(Dec 30 2019 at 19:09)</a>:</h4>
<p>ah</p>



<a name="184493449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493449">(Dec 30 2019 at 19:09)</a>:</h4>
<p>so I'm kind of inclined to just code it up as is, and not try to prematurely generalize</p>



<a name="184493455"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493455" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493455">(Dec 30 2019 at 19:09)</a>:</h4>
<p>fair enough</p>



<a name="184493471"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493471" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493471">(Dec 30 2019 at 19:09)</a>:</h4>
<p>that said, I think that for most of chalk, it won't make much difference even when/if we were to generalize</p>



<a name="184493535"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493535" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493535">(Dec 30 2019 at 19:10)</a>:</h4>
<p>I suppose that the generalizaton might be to merge structs + generator-witnesses and allow both of them to have "some number" of existential types/lifetimes internally (zero for most structs)</p>



<a name="184493542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493542">(Dec 30 2019 at 19:10)</a>:</h4>
<p>I think that's <em>mostly</em> true</p>



<a name="184493550"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493550" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493550">(Dec 30 2019 at 19:10)</a>:</h4>
<p>(to the first)</p>



<a name="184493579"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493579" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493579">(Dec 30 2019 at 19:11)</a>:</h4>
<blockquote>
<p>I think that's <em>mostly</em> true</p>
</blockquote>
<p>is there some specific exception you are thinking about?</p>



<a name="184493580"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493580" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493580">(Dec 30 2019 at 19:11)</a>:</h4>
<p>similar to <code>Fn</code>, where it's seems specific too</p>



<a name="184493585"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493585" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493585">(Dec 30 2019 at 19:11)</a>:</h4>
<p>no, nothing in particular right now</p>



<a name="184493633"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493633" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493633">(Dec 30 2019 at 19:12)</a>:</h4>
<p>Yes, I think fn + generators are the kind of specific ones</p>



<a name="184493636"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493636" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493636">(Dec 30 2019 at 19:12)</a>:</h4>
<p>otoh, they're also rather unique in rust's type system</p>



<a name="184493662"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493662" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493662">(Dec 30 2019 at 19:12)</a>:</h4>
<p>fn's because they have the ability to quantify over lifetimes (e.g., <code>for&lt;'a&gt;</code>)</p>



<a name="184493669"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493669" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493669">(Dec 30 2019 at 19:12)</a>:</h4>
<p>and generators because of the <code>exists&lt;'a&gt;</code></p>



<a name="184493674"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493674" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493674">(Dec 30 2019 at 19:12)</a>:</h4>
<p>otherwise they're both "kind of" just structs</p>



<a name="184493696"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493696" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493696">(Dec 30 2019 at 19:13)</a>:</h4>
<p>(fns also have ABI and arity to consider, that is, number of arguments, but you could make that part of the "type name" so to speak)</p>



<a name="184493757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493757">(Dec 30 2019 at 19:14)</a>:</h4>
<p>similarly I was at first inclined to combine them, since in point of fact I'm not sure that the forall/exists matters to chalk, but I think that was more confusing than just having two "somewhat specific" types</p>



<a name="184493770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493770">(Dec 30 2019 at 19:14)</a>:</h4>
<p>and I guess <del>that</del> the existence of binders seems like reason enough to call them out</p>



<a name="184493820"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493820" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493820">(Dec 30 2019 at 19:15)</a>:</h4>
<p>possibly</p>



<a name="184493821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493821">(Dec 30 2019 at 19:15)</a>:</h4>
<p>but let's step back one bit from this relatively narrow question --</p>



<a name="184493840"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493840" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493840">(Dec 30 2019 at 19:15)</a>:</h4>
<p>there are a few other larger questions I'm wondering about, trying to put them into words</p>



<a name="184493891"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493891" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493891">(Dec 30 2019 at 19:16)</a>:</h4>
<p>I guess I'll just dump down a few that come to mind</p>



<a name="184493907"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493907" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493907">(Dec 30 2019 at 19:16)</a>:</h4>
<p>sure</p>



<a name="184493914"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493914" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493914">(Dec 30 2019 at 19:16)</a>:</h4>
<ul>
<li>silly but I think we should rename <code>chalk-ir</code> to something like <code>chalk-ty</code>, and just think about it as one of the "public APIs" that chalk exports to the world. What should it contain, for example?</li>
</ul>



<a name="184493933"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493933" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493933">(Dec 30 2019 at 19:17)</a>:</h4>
<ul>
<li>In terms of proving this out, it seems like we should begin work of integrating into rustc, i'm sure it'll take a few iterations to see what is working and what is not</li>
</ul>



<a name="184493955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184493955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184493955">(Dec 30 2019 at 19:17)</a>:</h4>
<ul>
<li>Though I think there's also a list of steps Ican see right now, and that I should proabbyl write out .. in a tracking issue? or maybe I'll try to do them over the next few days when things are quieter, I guess I'm debating if these are good "mentoring opportunities" or not</li>
</ul>



<a name="184494009"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494009" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494009">(Dec 30 2019 at 19:18)</a>:</h4>
<p>(some of it is rote stuff like "rename X to "Y" and some a bit more complex like "introduce a new associated type for this thing")</p>



<a name="184494025"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494025" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494025">(Dec 30 2019 at 19:18)</a>:</h4>
<p>I guess bigger picture I want to kind of have the steps written down, I have to pull back up that hackmd I was creating and see how far I got</p>



<a name="184494043"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494043" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494043">(Dec 30 2019 at 19:19)</a>:</h4>
<blockquote>
<ul>
<li>silly but I think we should rename <code>chalk-ir</code> to something like <code>chalk-ty</code>, and just think about it as one of the "public APIs" that chalk exports to the world. What should it contain, for example?</li>
</ul>
</blockquote>
<p>Sounds good to me. It makes more sense given that the scheme of <code>TypeFamily</code>, <code>TypeData</code>, etc.</p>



<a name="184494053"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494053" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494053">(Dec 30 2019 at 19:19)</a>:</h4>
<blockquote>
<ul>
<li>In terms of proving this out, it seems like we should begin work of integrating into rustc, i'm sure it'll take a few iterations to see what is working and what is not</li>
</ul>
</blockquote>
<p>I definitely think that's the next step</p>



<a name="184494118"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494118" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494118">(Dec 30 2019 at 19:20)</a>:</h4>
<p>I guess this was the hackmd <a href="https://hackmd.io/J1QG2rwERAKdknM_qgrhMA" target="_blank" title="https://hackmd.io/J1QG2rwERAKdknM_qgrhMA">https://hackmd.io/J1QG2rwERAKdknM_qgrhMA</a></p>



<a name="184494121"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494121" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494121">(Dec 30 2019 at 19:20)</a>:</h4>
<blockquote>
<ul>
<li>Though I think there's also a list of steps Ican see right now, and that I should proabbyl write out .. in a tracking issue? or maybe I'll try to do them over the next few days when things are quieter, I guess I'm debating if these are good "mentoring opportunities" or not</li>
</ul>
</blockquote>
<p>This was sort of what I envisioned when I mentioned at one point i.r.t. issue cleanup with making a tracking issue for different "goals", including rustc integration</p>



<a name="184494125"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494125" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494125">(Dec 30 2019 at 19:20)</a>:</h4>
<p>and it has a pretty fine-grained list, actually</p>



<a name="184494128"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494128" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494128">(Dec 30 2019 at 19:20)</a>:</h4>
<p>yes, it maybe should move to a tracking issue, I'm not sure</p>



<a name="184494129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494129">(Dec 30 2019 at 19:20)</a>:</h4>
<p>or tracking issue(s)</p>



<a name="184494147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494147">(Dec 30 2019 at 19:21)</a>:</h4>
<p>I remember seeing that hackmd, but I never read through it</p>



<a name="184494151"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494151" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494151">(Dec 30 2019 at 19:21)</a>:</h4>
<p>but some of the goals needs to be further expanded</p>



<a name="184494153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494153">(Dec 30 2019 at 19:21)</a>:</h4>
<p>notab ly "chalk bug fixes and improvements", most of those are themselves top-lvel items</p>



<a name="184494158"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494158" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494158">(Dec 30 2019 at 19:21)</a>:</h4>
<p>one thing to ponder is where is the best place to first integrate chalk</p>



<a name="184494163"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494163" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494163">(Dec 30 2019 at 19:22)</a>:</h4>
<p>i.e., within rustc</p>



<a name="184494209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494209">(Dec 30 2019 at 19:22)</a>:</h4>
<p>I was thinking that an interesting idea might be to try and (optionally, of course) start by replacing rustc's coherence check</p>



<a name="184494219"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494219" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494219">(Dec 30 2019 at 19:22)</a>:</h4>
<p>So, how much of the existing chalk integration is "usable"</p>



<a name="184494232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494232">(Dec 30 2019 at 19:22)</a>:</h4>
<p>( the existing chalk integration goes straight for type-checking, which is also good )</p>



<a name="184494244"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494244" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494244">(Dec 30 2019 at 19:22)</a>:</h4>
<blockquote>
<p>So, how much of the existing chalk integration is "usable"</p>
</blockquote>
<p>tbh .. probably most of it</p>



<a name="184494254"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494254" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494254">(Dec 30 2019 at 19:23)</a>:</h4>
<p>I mean we have to delete a lot o fit</p>



<a name="184494260"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494260" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494260">(Dec 30 2019 at 19:23)</a>:</h4>
<p>because chalk-solve does that work now</p>



<a name="184494273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494273">(Dec 30 2019 at 19:23)</a>:</h4>
<p>so hmm</p>



<a name="184494276"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494276" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494276">(Dec 30 2019 at 19:23)</a>:</h4>
<p>I geuss that would be good work for me to do</p>



<a name="184494280"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494280" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494280">(Dec 30 2019 at 19:23)</a>:</h4>
<p>potentially, anyway</p>



<a name="184494348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494348">(Dec 30 2019 at 19:24)</a>:</h4>
<p>I guess the answer to your question is hard to give</p>



<a name="184494357"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494357" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494357">(Dec 30 2019 at 19:24)</a>:</h4>
<p>I, personally, am interested in trying to help with the rustc integration. But I feel like there's still a few things in Chalk only that I need to work on</p>



<a name="184494366"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494366" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494366">(Dec 30 2019 at 19:24)</a>:</h4>
<p>Which I guess I can enumerate</p>



<a name="184494377"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494377" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494377">(Dec 30 2019 at 19:24)</a>:</h4>
<p>I think we're not quite there but yes best would be to do the rustc integration work together probably, and not any one person :)</p>



<a name="184494391"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494391" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494391">(Dec 30 2019 at 19:25)</a>:</h4>
<p>certainly a pre-req is going to be trying to connect types, for example</p>



<a name="184494512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494512">(Dec 30 2019 at 19:27)</a>:</h4>
<ul>
<li><a href="https://github.com/rust-lang/chalk/issues/301" target="_blank" title="https://github.com/rust-lang/chalk/issues/301">this issue</a> is a big one right now</li>
<li><a href="https://github.com/rust-lang/chalk/issues/314" target="_blank" title="https://github.com/rust-lang/chalk/issues/314">performance</a></li>
<li>chalk book</li>
<li>adding <code>tracing</code> support (which will help to unblock removing <code>CanonicalStrand</code> if we get perf metrics)</li>
<li>associated types</li>
</ul>



<a name="184494609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494609">(Dec 30 2019 at 19:29)</a>:</h4>
<p>I hadn't seen those two issues</p>



<a name="184494615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494615">(Dec 30 2019 at 19:29)</a>:</h4>
<p>Both are making me wonder about</p>



<a name="184494621"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494621" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494621">(Dec 30 2019 at 19:29)</a>:</h4>
<p>the idea of extending chalk so that it can log test cases</p>



<a name="184494624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494624">(Dec 30 2019 at 19:29)</a>:</h4>
<p>so that we can readily reproduce these sorts of problems</p>



<a name="184494683"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494683" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494683">(Dec 30 2019 at 19:30)</a>:</h4>
<p>I'm not too surprised about perf, I'll leave some notes of what I see from that stack trace</p>



<a name="184494684"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494684" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494684">(Dec 30 2019 at 19:30)</a>:</h4>
<p>Yup, this is something I'd like to raise as well</p>



<a name="184494696"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494696" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494696">(Dec 30 2019 at 19:30)</a>:</h4>
<p><span class="user-mention" data-user-id="133169">@matklad</span> do you mean the "log test cases" idea? or the two issues</p>



<a name="184494700"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494700" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494700">(Dec 30 2019 at 19:30)</a>:</h4>
<blockquote>
<p>the idea of extending chalk so that it can log test cases</p>
</blockquote>
<p>how?</p>



<a name="184494707"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494707" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494707">(Dec 30 2019 at 19:30)</a>:</h4>
<p>Recently, I've seen couple of performance/panics problems with chalk, but did't have time to minize to get a useful repro</p>



<a name="184494710"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494710" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494710">(Dec 30 2019 at 19:30)</a>:</h4>
<p>my thought was this</p>



<a name="184494715"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494715" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494715">(Dec 30 2019 at 19:30)</a>:</h4>
<p>so chalk integrates with rust-analyzer via the <code>RustIrDatabase</code> trait</p>



<a name="184494723"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494723" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494723">(Dec 30 2019 at 19:30)</a>:</h4>
<p>you could imagine a "wrapper" impl of this trait</p>



<a name="184494735"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494735" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494735">(Dec 30 2019 at 19:31)</a>:</h4>
<p>that forwarded the requests to rust-analyzer, but tracked the answers that it got</p>



<a name="184494737"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494737" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494737">(Dec 30 2019 at 19:31)</a>:</h4>
<p>Another one fun perf issue is <a href="https://github.com/rust-lang/chalk/issues/298" target="_blank" title="https://github.com/rust-lang/chalk/issues/298">https://github.com/rust-lang/chalk/issues/298</a></p>



<a name="184494751"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494751" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494751">(Dec 30 2019 at 19:31)</a>:</h4>
<p>and uses that to dump out into a <code>.chalk</code> file as it goes</p>



<a name="184494755"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494755" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494755">(Dec 30 2019 at 19:31)</a>:</h4>
<p>that conatins struct, trait defitions, etc</p>



<a name="184494762"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494762" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494762">(Dec 30 2019 at 19:31)</a>:</h4>
<p>oh that would be neat</p>



<a name="184494765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494765">(Dec 30 2019 at 19:31)</a>:</h4>
<p>(we probably also want to track goals)</p>



<a name="184494816"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494816" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494816">(Dec 30 2019 at 19:32)</a>:</h4>
<p>it seems .. emintently doable to me, though it may require some tweaking of things</p>



<a name="184494821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494821">(Dec 30 2019 at 19:32)</a>:</h4>
<p>That would be neat, but I feel we also should implement an automatic shrinking infrastructure for this to be useful</p>



<a name="184494833"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494833" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494833">(Dec 30 2019 at 19:32)</a>:</h4>
<p>That is, I fear that just a raw dump of everything wouldn't be much more useful than a dump of a source code</p>



<a name="184494835"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494835" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494835">(Dec 30 2019 at 19:32)</a>:</h4>
<blockquote>
<p>That would be neat, but I feel we also should implement an automatic shrinking infrastructure for this to be useful</p>
</blockquote>
<p>do you mean like making a minimal repro?</p>



<a name="184494843"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494843" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494843">(Dec 30 2019 at 19:33)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> rigth</p>



<a name="184494887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494887">(Dec 30 2019 at 19:33)</a>:</h4>
<p>I'm not sure how much work that would take though</p>



<a name="184494937"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494937" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494937">(Dec 30 2019 at 19:34)</a>:</h4>
<blockquote>
<p>That is, I fear that just a raw dump of everything wouldn't be much more useful than a dump of a source code</p>
</blockquote>
<p>I disagree :)</p>



<a name="184494947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494947">(Dec 30 2019 at 19:34)</a>:</h4>
<p>Obviously, it'd be better if we can minimize</p>



<a name="184494949"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494949" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494949">(Dec 30 2019 at 19:34)</a>:</h4>
<p>But</p>



<a name="184494955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494955">(Dec 30 2019 at 19:34)</a>:</h4>
<p>Having something to reproduce the problem manually seems already pretty useful;</p>



<a name="184494958"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494958" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494958">(Dec 30 2019 at 19:34)</a>:</h4>
<p>it lets me debug in just chalk</p>



<a name="184494967"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494967" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494967">(Dec 30 2019 at 19:34)</a>:</h4>
<p>it lets people extract out stuff from their non-public code bases</p>



<a name="184494973"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494973" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494973">(Dec 30 2019 at 19:34)</a>:</h4>
<p>they may be reluctant to post it, but it would contain very little information</p>



<a name="184494989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494989">(Dec 30 2019 at 19:35)</a>:</h4>
<p>e.g., just the names of traits and impls etc</p>



<a name="184494997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184494997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184494997">(Dec 30 2019 at 19:35)</a>:</h4>
<p>but not the bodies of any functions</p>



<a name="184495022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495022">(Dec 30 2019 at 19:35)</a>:</h4>
<p>and anyway having the ability to dump the info would be a first step towards being able to minimze it</p>



<a name="184495090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495090">(Dec 30 2019 at 19:36)</a>:</h4>
<p>yeah, I'll probably play with that idea when I get to perf stuff</p>



<a name="184495093"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495093" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495093">(Dec 30 2019 at 19:36)</a>:</h4>
<p>anyway, I think it's the kind of thing that will be hard to prioritize, but will be a productivity multiplier if we gret something done</p>



<a name="184495111"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495111" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495111">(Dec 30 2019 at 19:37)</a>:</h4>
<p>Also falling into that is the idea of "fuel friendly" and such</p>



<a name="184495114"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495114" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495114">(Dec 30 2019 at 19:37)</a>:</h4>
<p>(one other thing: it doesn't have to be a <code>.chalk</code> file, could be a different format)</p>



<a name="184495140"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495140" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495140">(Dec 30 2019 at 19:37)</a>:</h4>
<p>is <a href="https://github.com/rust-lang/chalk/issues/314" target="_blank" title="https://github.com/rust-lang/chalk/issues/314">https://github.com/rust-lang/chalk/issues/314</a> from ethereum, do you know <span class="user-mention" data-user-id="133169">@matklad</span> ?</p>



<a name="184495208"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495208" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495208">(Dec 30 2019 at 19:38)</a>:</h4>
<p>I don't</p>



<a name="184495226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495226">(Dec 30 2019 at 19:38)</a>:</h4>
<p>But it's true that chalk panics on parity's substrate :-)</p>



<a name="184495238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495238">(Dec 30 2019 at 19:38)</a>:</h4>
<p>i.e., <a href="https://github.com/rust-lang/chalk/issues/301" target="_blank" title="https://github.com/rust-lang/chalk/issues/301">https://github.com/rust-lang/chalk/issues/301</a> ?</p>



<a name="184495251"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495251" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495251">(Dec 30 2019 at 19:38)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> you took what I said in my comment and put it into more words <span aria-label="joy" class="emoji emoji-1f602" role="img" title="joy">:joy:</span></p>



<a name="184495252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495252">(Dec 30 2019 at 19:38)</a>:</h4>
<p>does rust-analyzer still truncate with a very low threshold?</p>



<a name="184495296"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495296" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495296">(Dec 30 2019 at 19:39)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> yep, that's one of the issue</p>



<a name="184495299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495299">(Dec 30 2019 at 19:39)</a>:</h4>
<p>it's a useful stress test though probably not really viable long term ..</p>



<a name="184495365"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495365" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495365">(Dec 30 2019 at 19:40)</a>:</h4>
<p>the other I remeber is a crash on libp2p, which has like 17 where clause</p>



<a name="184495383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495383">(Dec 30 2019 at 19:40)</a>:</h4>
<blockquote>
<p>does rust-analyzer still truncate with a very low threshold?</p>
</blockquote>
<p>I think yes</p>



<a name="184495416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495416">(Dec 30 2019 at 19:41)</a>:</h4>
<div class="codehilite"><pre><span></span><span class="k">const</span><span class="w"> </span><span class="n">CHALK_SOLVER_MAX_SIZE</span>: <span class="kt">usize</span> <span class="o">=</span><span class="w"> </span><span class="mi">4</span><span class="p">;</span><span class="w"></span>
</pre></div>



<a name="184495587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495587">(Dec 30 2019 at 19:43)</a>:</h4>
<p>On a different note, one other thing that I did in my chalk-ir 'proposed book chapter' is a lot of renaming</p>



<a name="184495678"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495678" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495678">(Dec 30 2019 at 19:44)</a>:</h4>
<p>I think I probalby ought to land that, but I should probably move some of the "open questions" and things to some other place</p>



<a name="184495704"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495704" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495704">(Dec 30 2019 at 19:45)</a>:</h4>
<p>I guess I'm debating a bit how to keep everything organized</p>



<a name="184495709"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495709" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495709">(Dec 30 2019 at 19:45)</a>:</h4>
<p>seems like the <a href="https://github.com/rust-lang/wg-traits" target="_blank" title="https://github.com/rust-lang/wg-traits">https://github.com/rust-lang/wg-traits</a> repo is underutilized to me</p>



<a name="184495731"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495731" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495731">(Dec 30 2019 at 19:45)</a>:</h4>
<p>Yeah, I think that only is used for minutes at this point?</p>



<a name="184495735"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495735" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495735">(Dec 30 2019 at 19:45)</a>:</h4>
<p>And even then, barely</p>



<a name="184495737"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495737" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495737">(Dec 30 2019 at 19:45)</a>:</h4>
<p>right</p>



<a name="184495815"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495815" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495815">(Dec 30 2019 at 19:46)</a>:</h4>
<blockquote>
<p>past sprints, as well as draft RFCs and other documents</p>
</blockquote>



<a name="184495837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495837">(Dec 30 2019 at 19:47)</a>:</h4>
<p>I would like it to be more of a "coordination point" for tracking our plans I think, at a higher-level. I'm thinking just now about what the "top level" goals are</p>



<a name="184495848"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495848" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495848">(Dec 30 2019 at 19:47)</a>:</h4>
<p>I think if we want to put goals for rustc integration, it makes sense here?</p>



<a name="184495860"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495860" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495860">(Dec 30 2019 at 19:47)</a>:</h4>
<p>or I guess, goals in general?</p>



<a name="184495921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495921">(Dec 30 2019 at 19:48)</a>:</h4>
<p>right</p>



<a name="184495927"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495927" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495927">(Dec 30 2019 at 19:48)</a>:</h4>
<p>I'd like you to be able to come there and get a feeling for the big goals, which probably span multiple repos</p>



<a name="184495931"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495931" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495931">(Dec 30 2019 at 19:48)</a>:</h4>
<p>not to mention of course some note of what our calendar is and where you could jump in</p>



<a name="184495939"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495939" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495939">(Dec 30 2019 at 19:48)</a>:</h4>
<p>we are obviously not doing sprints anymore but we could try that again, still seems like a useful structure</p>



<a name="184495966"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495966" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495966">(Dec 30 2019 at 19:49)</a>:</h4>
<p>The big thing with sprints is you need to know what to do and actually have someone to do it</p>



<a name="184495992"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184495992" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184495992">(Dec 30 2019 at 19:49)</a>:</h4>
<p>but they can be useful</p>



<a name="184496003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184496003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184496003">(Dec 30 2019 at 19:50)</a>:</h4>
<p>guess it goes back to just figuring out goals</p>



<a name="184496061"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184496061" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184496061">(Dec 30 2019 at 19:50)</a>:</h4>
<p>I'm trying now to chart out the "highest level goals" <a href="https://hackmd.io/J1QG2rwERAKdknM_qgrhMA?both#at-the-highest-level" target="_blank" title="https://hackmd.io/J1QG2rwERAKdknM_qgrhMA?both#at-the-highest-level">in this section of the hackmd</a></p>



<a name="184496231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184496231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184496231">(Dec 30 2019 at 19:53)</a>:</h4>
<p>Also, <span class="user-mention" data-user-id="116009">@nikomatsakis</span> when you have a bit of time, can you go through the issues on github (especially some of the older ones), and see if they're still relevant? (and/or need to be updated/reworded)</p>



<a name="184496302"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184496302" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184496302">(Dec 30 2019 at 19:54)</a>:</h4>
<p>Some seem like duplicates of others, or don't really have "actionable" goals</p>



<a name="184496319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184496319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184496319">(Dec 30 2019 at 19:55)</a>:</h4>
<p>yeah, indeed</p>



<a name="184496327"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184496327" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184496327">(Dec 30 2019 at 19:55)</a>:</h4>
<p>I think that most of the older ones are probably ultimately better subsumed into this 'roadmapping' procss</p>



<a name="184496348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184496348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184496348">(Dec 30 2019 at 19:55)</a>:</h4>
<p>Right</p>



<a name="184496398"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184496398" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184496398">(Dec 30 2019 at 19:56)</a>:</h4>
<p>I already went through them a few weeks ago and left a couple comments</p>



<a name="184496438"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184496438" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184496438">(Dec 30 2019 at 19:57)</a>:</h4>
<p>But some I just don't know the context at the time, and they don't have anything actionable, so I can't say what "progress" (if any) has/hasn't been made</p>



<a name="184496537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184496537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184496537">(Dec 30 2019 at 19:58)</a>:</h4>
<p>I'm also going to put some thought into some meaningful labels for issues</p>



<a name="184496672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184496672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184496672">(Dec 30 2019 at 20:00)</a>:</h4>
<p>ok, gotta run for a bit</p>



<a name="184496687"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184496687" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184496687">(Dec 30 2019 at 20:00)</a>:</h4>
<p>Good meeting!</p>



<a name="184499396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184499396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184499396">(Dec 30 2019 at 20:44)</a>:</h4>
<p>No rush to respond, but would it be helpful if I send a very small PR that introduced <code>tracing</code>? that being said, i don't see too much use of <code>log</code> in chalk yet, but i haven't done much research yet</p>



<a name="184505685"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184505685" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184505685">(Dec 30 2019 at 22:25)</a>:</h4>
<p><span class="user-mention" data-user-id="198819">@David Barsky</span> probably, yes! Maybe we can do a design meeting around tracing -- or just some async chatter, even better, to try and convey what we would like to capture</p>



<a name="184506319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184506319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184506319">(Dec 30 2019 at 22:33)</a>:</h4>
<p>Somewhat related: rust-analyzer has a home spun hierarchical profiling:</p>
<div class="codehilite"><pre><span></span>      685ms - get_inlay_hints
          683ms - SourceAnalyzer::new
              683ms - infer_query
                  214ms - trait_solve_query
                      212ms - impl_datum (108 calls)
                   36ms - trait_solve_query
                       27ms - impl_datum (2764 calls)
                   21ms - trait_solve_query
                       16ms - impl_datum (449 calls)
                        1ms - parse_query (1 calls)
</pre></div>


<p>Long term, it would be cool if both rust-analyzer and chalk internals could be profiled using the same framework. Maybe the <code>tracing</code> crate is an answer here?</p>



<a name="184506431"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184506431" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184506431">(Dec 30 2019 at 22:35)</a>:</h4>
<p>I am somewhat intimidated by <code>tracing</code> size though:  the thing in rust analyzer is about 300 lines, and I am quite happy with it :) </p>
<p><a href="https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_prof/src/lib.rs" target="_blank" title="https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_prof/src/lib.rs">https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_prof/src/lib.rs</a></p>



<a name="184513141"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184513141" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184513141">(Dec 30 2019 at 23:12)</a>:</h4>
<p>from what <span class="user-mention" data-user-id="198819">@David Barsky</span> tells me tracing can do anything at all :)</p>



<a name="184515231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184515231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184515231">(Dec 31 2019 at 00:04)</a>:</h4>
<p>tracing is _not_ small by any means, but it's meant to be a decently modular library (some might argue _too_ modular) that allows for most decisions to be revisited by others. more concretely, it lets folks swap it out core components to function in a no-std environment, or specialize a lot of behavior to their specific performance needs.</p>



<a name="184515242"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184515242" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184515242">(Dec 31 2019 at 00:04)</a>:</h4>
<p>some of those knobs could be better documented though.</p>



<a name="184515243"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/design%20meeting%202019.12.30/near/184515243" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> David Barsky <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/design.20meeting.202019.2E12.2E30.html#184515243">(Dec 31 2019 at 00:04)</a>:</h4>
<p>i'll create a new topic for this.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>